package com.zmn.oms.zmn.normal.business.interfaces.serviceitem;

import com.zmn.oms.common.dto.ResultDTO;
import com.zmn.oms.common.exception.OmsBaseException;
import com.zmn.oms.model.dto.fault.FaultItemGroupDTO;
import com.zmn.oms.model.dto.serviceitem.AddOrderServiceItemDTO;
import com.zmn.oms.model.dto.serviceitem.ServiceItemGroupDTO;
import com.zmn.oms.model.dto.serviceitem.TieredTotalPriceDTO;
import com.zmn.oms.model.vo.work.modify.amount.ZsServiceItemVO;
import com.zmn.oms.zmn.business.interfaces.serviceItem.ZsOrderServiceItemBService;

import java.util.List;

/**
 * 类描述：啄木鸟-普通工单-服务项
 *
 * @author heciqi
 * @date 2018/12/06 14:45
 */
public interface ZsNormalOrderServiceItemBService extends ZsOrderServiceItemBService {

	/**
	 * 查询服务项
	 * @param orderId
	 * @param workId
	 * @return
	 */
	List<ZsServiceItemVO> findServiceItemVo(Long orderId, Long workId) throws OmsBaseException;

	/**
	 * 查询服务列表
	 * @param orderId
	 * @param workId
	 * @param productId
	 * @return
	 */
	List<ServiceItemGroupDTO> findServiceitemList(Long orderId, Long workId, Integer productId)
			throws OmsBaseException;
	/**
	 * 查询故障列表
	 * @param orderId
	 * @param workId
	 * @param productId
	 * @return
	 */
	List<FaultItemGroupDTO> findFaultItemList(Long orderId, Long workId, Integer productId)
			throws OmsBaseException;

	/**
	 * 获取阶梯价金额
	 *
	 * @param orderId
	 * @param itemId
	 * @param price
	 * @param number
	 * @return
	 * @throws OmsBaseException
	 */
	Integer listTieredTotalPrice(TieredTotalPriceDTO tieredTotalPriceDTO);


	/**
	 * 保存服务项目
	 * @param addOrderServiceItemDTO
	 */
	ResultDTO saveServiceitem(AddOrderServiceItemDTO addOrderServiceItemDTO) throws OmsBaseException;

	/**
	 * 获取优惠价
	 * @param addOrderServiceItemDTO
	 */
	Integer getDiscount(AddOrderServiceItemDTO addOrderServiceItemDTO) throws OmsBaseException;
}
